package club.pojo;

import com.baomidou.mybatisplus.annotations.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 宠物实体类
 * 对应数据库中的宠物表结构
 */
@Data
// Lombok注解，自动生成getter、setter、toString等方法

public class Pet {
    private Integer id;
    private String petName;
    private String petType;
    private String sex;
    private Date birthday;

    // 日期格式化注解
    // JsonFormat：控制JSON序列化时的日期格式（时区设置为GMT+8）
    // DateTimeFormat：控制表单提交时字符串转日期的格式
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")


    private String pic;
    private Integer state;
    private String remark;

    // 非数据库字段，用于关联查询
    // TableField(exist = false)：标记该字段在数据库表中不存在

    @TableField(exist = false)
    private List<AdoptAnimal> adoptAnimalList = new ArrayList<>();
    // 宠物的领养记录列表

    @TableField(exist = false)
    private List<Comment> commentList = new ArrayList<>();
    // 宠物的评论列表
}